package com.edais.persistence;

import java.util.List;
import java.util.Map;

import com.edais.domain.Bank;
import com.edais.domain.UserQuickWithdraw;
import com.edais.domain.UserRecePayCard;
import com.edais.domain.UserZSHTCheckCard;
import com.edais.domain.WithdrawErrorSendMobile;
import com.edais.domain.ZSHTCheckBankCountInfo;

public interface UserCardMapper {
	List<UserRecePayCard> queryUserCardInfoByUserId(Map<String,Object> paramMap);
	
	Integer queryBankIdByBankCode(Map<String,Object> paramMap);
	
	Bank queryBankInfoByBankCode(Map<String,Object> paramMap);
	
    void saveUserBankCardInfo(UserRecePayCard userRecePayCard);
    
    UserRecePayCard queryBankCardByCardNo(Map<String,Object> paramMap);
    
    Integer updateUserBankCardInfo(UserRecePayCard userRecePayCard);
    
    UserRecePayCard queryBankCardByBindingReqNum(Map<String,Object> paramMap);
    
    UserRecePayCard queryUserNewestBankCard(Map<String,Object> paramMap);
    
    void updateUserBankCardInfoById(UserRecePayCard userRecePayCard);
    
    Integer updateUserBindindBankCardInfo(UserRecePayCard userRecePayCard);
    
    void updateUserCardCityAndProvince(UserRecePayCard userRecePayCard);
    
    Bank queryBankInfoByBankCodeAndEanble(Map<String,Object> paramMap);
    
   /* List<UserRecePayCard> queryUserCardByBankCodeAndLastNumber(Map<String,Object> paramsMap);*/
    
    void updateUserBankCardInfoByIdAll(UserRecePayCard userRecePayCard);
    
    UserQuickWithdraw queryUserQuickCountByIdAndMonth(Map<String,Object> paramsMap);
    
    UserZSHTCheckCard queryZSHTBankCardCheck(Map<String,Object> paramsMap);
    
    void insertZSHTBankCardCheck(UserZSHTCheckCard userCheckCard);
    
    ZSHTCheckBankCountInfo queryUserCurrentCheckBankInfo(Map<String,Object> paramsMap);
    
    void insertUserCurrentCheckBankInfo(ZSHTCheckBankCountInfo checkBankCountInfo);
    
    void updateUserCurrentCheckBankInfo(ZSHTCheckBankCountInfo checkBankCountInfo);
    
    String queryNextWorkingDay(String currentDay);
    
    Long queryWorkingDayByCurrentDay(String currentDay);
    
    List<WithdrawErrorSendMobile> selectSendErrorMobileList();
    
    UserQuickWithdraw queryUserQuickCountByUserId(Map<String,Object> paramsMap);
    
    void insertUserQuickWithdrawInfo(UserQuickWithdraw uqw);
    
    Integer updateUserDaysQuickCountMinus(Map<String,Object> param);
    
    Integer updateUserDaysQuickCountIncrease(Map<String,Object> param);
}
